<template>

	<bookreader @change="change" :prev="prevText" :current="currentText" :next="nextText" 
	:width="sysInfo.width"
		:height="sysInfo.heigth"></bookreader>

</template>

<script>
	import {reactive, computed, toRefs, ref  } from 'vue'
	import {
	    onLoad,
	    onShow,
	  } from "@dcloudio/uni-app";

	import {
		fetchChapterList,
		fetchChapterContent
	} from "../../api/api.js"
	export default {
		setup() {
			const sysInfo = reactive({
				width: 0,
				heigth: 0
			})
			
			const setSysInfo = ()=> {
				const res = uni.getSystemInfoSync();
				sysInfo.width = res.windowWidth;
				sysInfo.heigth = res.windowHeight;
				
				console.log(sysInfo)
			}
			
			
			const chapterInfo = reactive({
				index: 0,
				novels: {},
				chapterList:[]
			})

			//let chapterList = ref([])
			
			const retriveContentByIndex = (index) => {
				if (index < 0) {
					index = 0;
				}
			
				if (index >= chapterInfo.chapterList.length - 1) {
					index = chapterInfo.chapterList.length - 1;
				}
			
				let chapter = chapterInfo.chapterList[index];
				
				if (!chapterInfo.novels[chapter.id]) {
					fetchChapterContent(chapter.novelId, chapter.id).then(res => {
						chapter.contents = res.data.data;
						chapterInfo.novels[chapter.id] = chapter;
						//chapterInfo.novels.set(chapter.id, chapter);
						// Object.assign(chapterInfo.novels,{id:2,name:'大明'})
					});
				}
			
			}
			
			const initChapterInfo = (id) => {
				fetchChapterList(id).then(res => {
								console.log("onLoad", res.data.data);
								chapterInfo.chapterList = res.data.data;
							}).then(_ => {
								retriveContentByIndex(0)
								retriveContentByIndex(1)
							})
			};
			
			
			const getChapter = (index) => {
				if (index >= 0 && index < chapterInfo.chapterList.length) {
					const chapter = chapterInfo.chapterList[index];
					//if(chapterInfo.novels.get(chapter.id)) {
					if(chapterInfo.novels[chapter.id]) {
						return chapterInfo.novels[chapter.id];
					}
					
				}
				
				 return null
			};
			
			const prevText = computed(() => {
				return getChapter(chapterInfo.index - 1)
			});
			
			const currentText= computed(() => {
				return getChapter(chapterInfo.index)
			});
			
			const nextText= computed(() => {
				return getChapter(chapterInfo.index + 1)
			});
			
			
			
			/* onLoad((option) => {
					setSysInfo()
			        console.log("B 页面 onLoad:", option); //B 页面 onLoad: {id: '1', name: 'uniapp'}
			      }); */
				  
			return {
				sysInfo,
				setSysInfo,
				
				initChapterInfo,
				...toRefs(chapterInfo),
				
				prevText,
				currentText,
				nextText
			}
		},
		data() {
			return {
				
				test: {"title": "第一章 北灵院北灵院北灵院北灵院", "content": ["烈日如炎，灼热的阳光从天空上倾洒下来，令得整片大地都是处于一片蒸腾之中，杨柳微垂，收敛着枝叶，恹恹不振。",
"在那一片投射着被柳树枝叶切割而开的明亮光斑的空地中，数百道身影静静盘坐，这是一群略显青涩的少年少女，而此时，他们都是面目认真的微闭着双目，鼻息间的呼吸，呈现一种极有节奏之感，而随着呼吸的吐纳，他们的周身，仿佛是有着肉眼难辨的细微光芒出现。",
"微风悄然的吹拂而来，衣衫飘动，倒是略显壮观。",
"在这数百道身影前方，有着一座石台，石台上，同样是有着一道身影安静的盘坐，他双手在身前相合，十指交叉，双目紧闭，犹如是进入了某种修炼状态之中。",
"这道身影也是少年模样，他有着一头柔软而略显散乱的黑发，尚还显得稚嫩的脸庞有点清瘦，让人看起来有着一种相当舒服的感觉。",
"而此时，在这名少年的周身，正有着肉眼可见的光芒绽放着，在那种光芒下，仿佛是有着一股玄奥的能量，正在对着他的体内涌去。",
"石台下，一些少年突然悄悄的睁开眼睛，他们望着石台上那少年周身的光芒，皆是忍不住的舔舔嘴，脸庞上露出了一些羡慕钦佩之色，而后那股安静便是被他们的窃窃私语声开始打破。",
"“牧哥真厉害，我们都还在感应天地灵气，他就已经成功晋入灵动境了，真不愧是我们东院地届的第一人啊。”",
"“哈，那是当然，莫说东院了，我想整个北灵院同等年龄中，恐怕都没几人能和牧哥比。”",
"一名靠前的灰衣少年似乎与石台上的少年颇为熟悉，他听得大伙的窃窃私语，不由得得意一笑，压低声音道：“牧哥可是被选拔出来参加过“灵路”的人，我们整个北灵境中，可就牧哥一人有名额，你们应该也知道参加“灵路”的都是些什么变态吧？当年我们这北灵境可是因为此事沸腾了好一阵的，从那里出来的人，最后基本全部都是被“五大院”给预定了的。”",
"“五大院？”不少少年听得这对于他们而言极端耀眼的名字，都是忍不住的咽了口唾沫，眼中满是向往与火热之色，那里，算是所有少年人心中的终极梦想所在，只不过“五大院”选拔极端的严苛，能够进入其中的，莫不是天才之姿，谁若是能够进入其中，那也真正算是前途无量了。",
"“牧哥是很厉害...不过，不过牧哥好像只参加了一年...我听别人说，牧哥是第一个“灵路”时间未曾完结就被驱逐出来的人...”",
"有着一名少年犹豫了一下，悄悄的说道，但旋即他又赶紧补充道：“牧哥的能力我们都知道，就算那“灵路”中都是来自大世界各处的天才妖孽，可牧哥也绝不会逊色，这样被驱逐出来，一定是受到了不公对待！”",
"众多少年少女面面相觑，这事情在北灵院甚至整个北灵境也不算什么秘密，他们在对此感到遗憾的同时，又相当的好奇，他们很想知道，究竟是因为什么原因，这个出色得让同样有着几分傲气的他们都信服的牧哥，竟然会被那“灵路”主动的驱逐出来。",
"那灰衣少年撇了撇嘴，不以为然的道：“哼，肯定是那“灵路”里有人嫉妒牧哥，这才使用手段把他逼走，不过没关系，以牧哥的能力，迟早也能够进入“五大院”，到时候自然让人明白。”",
"众多少年捎了捎头，虽然他们也知道他们口中这位牧哥天赋极强，但五大院也不是这么好进入的啊，毕竟他在那“灵路”中，只是修炼了一年时间，还谈不上成功的完成修炼，这与那些从“灵路”真正出来的天才妖孽相比，应该还是要差一些的。",
"“啪！”",
"不过就在他们说话间，一块碎木突然从石台上飞下，然后甩在那灰衣少年额头上，一道轻笑的骂声随之传来：“苏凌，你们真当我是摆设吗？信不信我告诉莫师，让你们接下来的假期都留在东院补习修炼？”",
"众多少年少女忙抬起头来，只见得石台上修炼中的少年已经睁开了双目，漆黑的双目犹如夜空，其中灵气十足，在其嘴角，也是噙着一抹笑容，那笑容阳光而柔和，犹如点睛之笔一般，令得少年的面目，变得有些帅气起来。",
"不得不说，这是一个挺有味道的少年郎。",
"“嘿嘿，牧尘哥别啊，好不容易放点假，我还指望着回去乐乐呢，我爹要是知道我干这么丢人的事，非打死我不可。”那灰衣少年捂着额头，嘿嘿直笑。",
"周围的少年少女也是哄笑出声，气氛热闹。",
"“你也知道你爹凶狠，三月之内，你若再无法晋入灵动境，你就等着挨揍吧。”那被称为牧尘的少年摇了摇头，没好气的道。",
"“灵动境哪有这么好晋入，我又不是牧哥你这样可以随随便便参加“灵路”的变态。”那苏凌撇了撇嘴，旋即忙止住嘴巴，这件事情虽然在整个北灵境都不算什么秘密，而且牧尘本人也对此并不避讳，但这种驱逐总归不会是什么光彩的事。",
"名为牧尘的少年闻言则是一笑，神情并没有太大的波动，只是微微抬起头来，目光望着那割碎着光斑的树枝，眼神略显怀念与复杂。",
"灵路啊...",
"不知道那几个家伙现在怎么样了，应该也已经结束修炼了吧？如果这样的话，或许不久后他们便是能够进入“五大院”了吧。",
"还有，她...",
"牧尘抿了抿嘴，脑海中掠过一道不管何时都背负着一柄暗黑长剑，有着窈窕身姿，冷漠而漂亮的容颜的黑裙少女。",
"倩影跳动间，那璀璨如银河般的耀眼银发，也是随之飘舞。",
"就是这个神秘冷漠，修炼起来让人感到疯狂的少女，在那灵路中，莫名其妙的追杀了他大半年，而那让得牧尘咬牙切齿的理由是他救了她一次。",
"不过，在最后他被逼迫的离开时，她却是第一个毫不犹豫拔剑挡在他身前的人。",
"想到那素来没有多少情感，有着成为祸水级别潜力的小脸在那时流露出的一丝冰冷杀意，牧尘也是忍不住的有些恍惚。",
"真是怀念啊。",
"“呵呵，这不是咱们北灵境那唯一一个参加了“灵路”的小牧哥吗？又在带人修炼啊？莫师还真是器重你呢。”",
"而就在牧尘沉侵在那种复杂心情中时，突然有着一道略显刺耳的声音传来，他脸庞平静的抬起头来，只见得不远处突然有着十数道身影慢吞吞的走来，那为首一人，是一位面容桀骜的少年，他此时正嘴挑着草根，笑眯眯的望着牧尘。",
"“刘彻，你们西院的人跑我们东院干什么？找揍不成？!”那之前被牧尘称为苏凌的少年见到这群人，面色却是一沉，站起身来冷笑道。",
"唰！",
"空地上那数百名东院的学生，也是在此时站起来，目光不善的望着这群来人，人数汇聚起来，倒是相当的有气势。",
"在这北灵院中，分为东院与西院，两院之间经常产生各种竞争，不过总体来说，以往一直是西院强于东院，在西院面前，东院的学生也是大多避着走，可这一年来，局势却是变化了不少，而这种变化的原因，便是因为牧尘的存在。",
"三月之前的一场两院地届学员比试中，西院这一届排名第三的薛东，落败于牧尘之手，倒是让得东院不少学生出了一口恶气，也令得西院的嚣张气焰变弱了一些。",
"而眼下，这些西院的家伙，竟然跑过来挑衅牧尘，这可让得苏凌他们有些忍不了。",
"“呵呵，现在的东院真是越来越得瑟了，以为出了一个牧尘就真能跟我们西院叫板不成？”",
"那刘彻见到东院人多势众，却是丝毫不见惧色，反而是嘴角一撇，手指指向不远处的高台，咧嘴笑道：“你们敢动手试试？”",
"苏凌他们目光投望而去，只见得在那高台上，有着数道身影，那些身影正笑眯眯的望着这边，而在见到那些有点熟悉的面孔后，苏凌等人面色都是变了一变。",
"“是西院天届的学长们...”",
"在北灵院中，不仅分为东西两院，而且还分为天地两届，而牧尘他们则是地届，眼下高台上的这些人，便是西院天届的学长，实力比起他们自然是要厉害许多。",
"而在苏凌他们面色因此变化时，那高台上的天届学长们也是居高临下的笑望着他们，彼此交谈。",
"“那是东院的牧尘吧？现在可是我们北灵院甚至北灵境的名人呢，没想到这种年龄就晋入灵动境了，虽然只是灵动境初期，不过也有资格升入天届了，倒是厉害啊。”",
"“是还不错，东院倒是出了个人才，以后等他升上东院天届，我们西院天届怕就要有些压力了哦。”",
"“这小子据说被选中了参加“灵路”呢，不过不知道为什么被驱逐出来了，倒是有点滑稽，第一次听说这种事情。”",
"“莫不是选错人了，这才把他丢出来吧？”",
"“哈哈。”",
"在这群人当中，有着一名红衣女孩，她身段修长，肌肤如雪，一张美丽的瓜子脸颊看上去显得有些妩媚，她慵懒的斜靠着栏杆，狭长的美目望向空地上的对恃，然后目光停留在那名为牧尘的少年身上，似是饶有兴致。",
"“呵呵，红绫，你似乎与这牧尘还认识吧？”有着一名天届的学长笑着道，从众人的站位来看，显然她才是这个小圈子的中心。",
"“嗯，他父亲是北灵境域主之一，与我父亲也算是有些关系，小时候曾在一起玩过。”那被称为红绫的女孩漫不经心的道。",
"“据说当初他好像喜欢你来着？”",
"红绫狭长的美目眨了眨，她望着不远处那笔直盘坐的身躯，此时有着一道光束穿透柳树枝叶，刚好是落在少年俊逸的脸庞上，形成一圈淡淡的光弧，舒服而好看，这令得她微怔了一下，隐约的还能够记起小时候那跟着她屁股后面的小男孩，只不过那时候的他，倒是没什么引人注目的地方，她也是并没有给予过多的注意，然而谁能想到，如今这个彼此关系有些疏远的少年，却是能够成为“北灵境”中唯一一个获得参加“灵路”资格的人，当时的牧尘在这北灵境可谓是风头极盛，那种风头，直到后来他突然被驱逐出“灵路”后方才开始淡去。",
"“小时候的事情，哪能算什么喜欢。”红绫似是不在意的一笑，不过那明亮眸子倒是多看了牧尘一眼，如今的后者随着进入北灵院，也是开始崭露头角，虽然还不至于成为北灵院第一人，但被这种优秀的人喜欢这种事传出来，于她而言还是有些面子的，即便她心中清楚其实这件事还是谣言成分居多，但这般年龄的女孩，终归是有些虚荣的。",
"“哈哈，红绫的眼光可不一般，这牧尘虽然还算不错，可还达不到让红绫动心的地步，你难道没见到连林修都失败了么？那可是咱们北灵院总榜第七的牛人呢，现在都晋入灵动境中期了，这牧尘与他比还是有点差距的。”",
"“看来我们这北灵院，能够让得红绫多看一眼的，也就柳慕白大哥了。”",
"柳慕白这个名字一出来，就连这些天届的学长们神情都是顿了顿，显然是感受到不小的压力。",
"北灵院总榜第一，柳慕白，其父亲更是北灵境第一大域的域主，威名显赫。",
"不论从样貌还是实力或者背景来说，这都是一个在北灵院中随时能够引来一些少女发花痴的名字。",
"在西院的学员眼中，谁都知道那柳慕白与红绫走得微近，虽然至今为止依旧未将这朵骄傲的西院之花摘下，但想来应该只是时间问题罢了。",
"如果牧尘是顺利的通过了那“灵路”的历练，获得进入“五大院”的资格，那名气自然是能够压过柳慕白，但可惜的是，他不知道怎么回事竟然被驱逐出来了。",
"这样一来，谁若是再将两人放在一起相比，无疑就只能令得旁人一笑了。",
"(新书正式开始了。六年了，不知道陪伴了多少读者走完高中，大学，甚至走入社会，或许中途会有读者离去，但若是能够在多年后突然想起那曾经的学园中，追读着一本小说的欢乐，这便是我最大的幸福。所以我也希望，大主宰也能够陪伴着大家，再度走过两年的光阴岁月。新书刚刚出生，需要大家的温养，真心的希望，不论是看正版还是盗版的读者，能够在公众期支持大主宰，一张推荐，一个收藏，都至关重要。所以，请大家将票票投给大主宰，今天推荐票多的话，就三更喔~~~~~我们一起加油吧！）"
]}
			};
		},
		onLoad(option) {
			this.setSysInfo()
			
			const {
				id
			} = {
				...option
			}
			
			this.initChapterInfo(id)
			
			/* fetchChapterList(id).then(res => {
				console.log("onLoad", res.data.data);
				this.chapterList = res.data.data;
			}).then(_ => {
				this.fetchContentByIndex(0)
				this.fetchContentByIndex(1)
			}).catch(_=> {
				this.chapterList.push(this.test)
				this.chapterList.push(this.test)
			}) */
			

			//const res = uni.getSystemInfoSync();
			//this.width = res.windowWidth;
			//this.heigth = res.windowHeight;
		},
		methods: {
			
			
			
			change(event) {
				const target = event

				if (target == 1) {
					this.index++;
				} else if (target == -1) {
					this.index--;
				}

				if (this.index < 0) {
					this.index = 0;
				}

				if (this.index >= this.chapterList.length - 1) {
					this.index = this.chapterList.length - 1;
				}


				this.fetchContentByIndex(this.index + 1);
			}
		}
	}
</script>

<style lang="scss">
	uni-page-body {
		height: 100%;
	}

	.bookinfo {
		height: 100%;





	}
</style>
